CDrawContext Class Reference

A drawing context encapsulates the drawing context of the underlying OS. More...

Inheritance diagram for CDrawContext:
Inheritance graph
[legend]
Collaboration diagram for CDrawContext:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void beginDraw ()
virtual void endDraw ()
Draw primitives



virtual void moveTo (const CPoint &point)
 move line position to point
virtual void lineTo (const CPoint &point)=0
 draw a line from current position to point
void getLoc (CPoint &where) const
virtual void drawLines (const CPoint *points, const int32_t &numberOfLines)=0
 draw multiple lines at once
virtual void drawPolygon (const CPoint *pPoints, int32_t numberOfPoints, const CDrawStyle drawStyle=kDrawStroked)=0
 draw a polygon
virtual void drawRect (const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)=0
 draw a rect
virtual void drawArc (const CRect &rect, const float startAngle1, const float endAngle2, const CDrawStyle drawStyle=kDrawStroked)=0
 draw an arc, angles are in degree
virtual void drawEllipse (const CRect &rect, const CDrawStyle drawStyle=kDrawStroked)=0
 draw an ellipse
virtual void drawPoint (const CPoint &point, const CColor &color)=0
 draw a point
virtual void drawBitmap (CBitmap *bitmap, const CRect &dest, const CPoint &offset=CPoint(0, 0), float alpha=1.f)=0
 don't call directly, please use CBitmap::draw instead
virtual void clearRect (const CRect &rect)=0
 clears the rect (makes r = 0, g = 0, b = 0, a = 0)
Line Mode



virtual void setLineStyle (const CLineStyle &style)
 set the current line style
const CLineStylegetLineStyle () const
 get the current line style
virtual void setLineWidth (CCoord width)
 set the current line width
CCoord getLineWidth () const
 get the current line width
Draw Mode



virtual void setDrawMode (CDrawMode mode)
 set the current draw mode, see CDrawMode
CDrawMode getDrawMode () const
 get the current draw mode, see CDrawMode
Clipping



virtual void setClipRect (const CRect &clip)
 set the current clip
CRectgetClipRect (CRect &clip) const
 get the current clip
virtual void resetClipRect ()
 reset the clip to the default state
Color



virtual void setFillColor (const CColor &color)
 set current fill color
CColor getFillColor () const
 get current fill color
virtual void setFrameColor (const CColor &color)
 set current stroke color
CColor getFrameColor () const
 get current stroke color
Font



virtual void setFontColor (const CColor &color)
 set current font color
CColor getFontColor () const
 get current font color
virtual void setFont (const CFontRef font, const CCoord &size=0, const int32_t &style=-1)
 set current font
const CFontRefgetFont () const
 get current font
Text



CCoord getStringWidth (UTF8StringPtr pStr)
 get the width of an UTF-8 encoded string
void drawString (UTF8StringPtr string, const CRect &_rect, const CHoriTxtAlign hAlign=kCenterText, bool antialias=true)
 draw an UTF-8 encoded string
void drawString (UTF8StringPtr string, const CPoint &_point, bool antialias=true)
 draw an UTF-8 encoded string
Global Alpha State



virtual void setGlobalAlpha (float newAlpha)
 sets the global alpha value[0..1]
float getGlobalAlpha () const
 get current global alpha value
Global State Stack



virtual void saveGlobalState ()
virtual void restoreGlobalState ()
Offset Transformation



virtual void setOffset (const CPoint &offset)
const CPointgetOffset () const
Reference Counting Methods



virtual void forget ()
 decrease refcount and delete object if refcount == 0
virtual void remember ()
 increase refcount
virtual int32_t getNbReference () const
 get refcount
Message Methods



virtual CMessageResult notify (CBaseObject *sender, IdStringPtr message)

Protected Member Functions

 CDrawContext (const CRect &surfaceRect)
 ~CDrawContext ()
virtual void init ()
const CStringgetDrawString (UTF8StringPtr string)
void clearDrawString ()

Protected Attributes

CStringdrawStringHelper
CRect surfaceRect
CDrawContextState currentState
std::stack< CDrawContextState * > globalStatesStack

Graphics Paths



enum  PathDrawMode { kPathFilled, kPathFilledEvenOdd, kPathStroked }
virtual CGraphicsPathcreateGraphicsPath ()=0
 create a graphics path object, you need to forget it after usage
CGraphicsPathcreateRoundRectGraphicsPath (const CRect &size, CCoord radius)
 create a rect with round corners as graphics path, you need to forget it after usage
virtual void drawGraphicsPath (CGraphicsPath *path, PathDrawMode mode=kPathFilled, CGraphicsTransform *transformation=0)=0
virtual void fillLinearGradient (CGraphicsPath *path, const CGradient &gradient, const CPoint &startPoint, const CPoint &endPoint, bool evenOdd=false, CGraphicsTransform *transformation=0)=0

Detailed Description

A drawing context encapsulates the drawing context of the underlying OS.


Member Enumeration Documentation

Enumerator:
kPathFilled 
kPathFilledEvenOdd 
kPathStroked 

Constructor & Destructor Documentation

CDrawContext ( const CRect surfaceRect  )  [protected]
~CDrawContext (  )  [protected]

Member Function Documentation

virtual void beginDraw (  )  [inline, virtual]
void clearDrawString (  )  [protected]
virtual void clearRect ( const CRect rect  )  [pure virtual]

clears the rect (makes r = 0, g = 0, b = 0, a = 0)

virtual CGraphicsPath* createGraphicsPath (  )  [pure virtual]

create a graphics path object, you need to forget it after usage

CGraphicsPath * createRoundRectGraphicsPath ( const CRect size,
CCoord  radius 
)

create a rect with round corners as graphics path, you need to forget it after usage

virtual void drawArc ( const CRect rect,
const float  startAngle1,
const float  endAngle2,
const CDrawStyle  drawStyle = kDrawStroked 
) [pure virtual]

draw an arc, angles are in degree

virtual void drawBitmap ( CBitmap bitmap,
const CRect dest,
const CPoint offset = CPoint(0, 0),
float  alpha = 1.f 
) [pure virtual]

don't call directly, please use CBitmap::draw instead

virtual void drawEllipse ( const CRect rect,
const CDrawStyle  drawStyle = kDrawStroked 
) [pure virtual]

draw an ellipse

virtual void drawGraphicsPath ( CGraphicsPath path,
PathDrawMode  mode = kPathFilled,
CGraphicsTransform transformation = 0 
) [pure virtual]
virtual void drawLines ( const CPoint points,
const int32_t &  numberOfLines 
) [pure virtual]

draw multiple lines at once

virtual void drawPoint ( const CPoint point,
const CColor color 
) [pure virtual]

draw a point

virtual void drawPolygon ( const CPoint pPoints,
int32_t  numberOfPoints,
const CDrawStyle  drawStyle = kDrawStroked 
) [pure virtual]

draw a polygon

virtual void drawRect ( const CRect rect,
const CDrawStyle  drawStyle = kDrawStroked 
) [pure virtual]

draw a rect

void drawString ( UTF8StringPtr  string,
const CPoint _point,
bool  antialias = true 
)

draw an UTF-8 encoded string

void drawString ( UTF8StringPtr  string,
const CRect _rect,
const CHoriTxtAlign  hAlign = kCenterText,
bool  antialias = true 
)

draw an UTF-8 encoded string

virtual void endDraw (  )  [inline, virtual]
virtual void fillLinearGradient ( CGraphicsPath path,
const CGradient gradient,
const CPoint startPoint,
const CPoint endPoint,
bool  evenOdd = false,
CGraphicsTransform transformation = 0 
) [pure virtual]
virtual void forget (  )  [inline, virtual, inherited]

decrease refcount and delete object if refcount == 0

CRect & getClipRect ( CRect clip  )  const

get the current clip

CDrawMode getDrawMode (  )  const [inline]

get the current draw mode, see CDrawMode

const CString & getDrawString ( UTF8StringPtr  string  )  [protected]
CColor getFillColor (  )  const [inline]

get current fill color

const CFontRef& getFont (  )  const [inline]

get current font

CColor getFontColor (  )  const [inline]

get current font color

CColor getFrameColor (  )  const [inline]

get current stroke color

float getGlobalAlpha (  )  const [inline]

get current global alpha value

const CLineStyle& getLineStyle (  )  const [inline]

get the current line style

CCoord getLineWidth (  )  const [inline]

get the current line width

void getLoc ( CPoint where  )  const [inline]
virtual int32_t getNbReference (  )  const [inline, virtual, inherited]

get refcount

const CPoint& getOffset (  )  const [inline]
CCoord getStringWidth ( UTF8StringPtr  pStr  ) 

get the width of an UTF-8 encoded string

void init (  )  [protected, virtual]
virtual void lineTo ( const CPoint point  )  [pure virtual]

draw a line from current position to point

void moveTo ( const CPoint point  )  [virtual]

move line position to point

virtual CMessageResult notify ( CBaseObject sender,
IdStringPtr  message 
) [inline, virtual, inherited]
virtual void remember (  )  [inline, virtual, inherited]

increase refcount

void resetClipRect (  )  [virtual]

reset the clip to the default state

void restoreGlobalState (  )  [virtual]
void saveGlobalState (  )  [virtual]
void setClipRect ( const CRect clip  )  [virtual]

set the current clip

void setDrawMode ( CDrawMode  mode  )  [virtual]

set the current draw mode, see CDrawMode

void setFillColor ( const CColor color  )  [virtual]

set current fill color

void setFont ( const CFontRef  font,
const CCoord size = 0,
const int32_t &  style = -1 
) [virtual]

set current font

void setFontColor ( const CColor color  )  [virtual]

set current font color

void setFrameColor ( const CColor color  )  [virtual]

set current stroke color

void setGlobalAlpha ( float  newAlpha  )  [virtual]

sets the global alpha value[0..1]

void setLineStyle ( const CLineStyle style  )  [virtual]

set the current line style

void setLineWidth ( CCoord  width  )  [virtual]

set the current line width

void setOffset ( const CPoint offset  )  [virtual]

Member Data Documentation

CDrawContextState currentState [protected]
CString* drawStringHelper [protected]
std::stack<CDrawContextState*> globalStatesStack [protected]
CRect surfaceRect [protected]

The documentation for this class was generated from the following files:

Generated on Fri Nov 22 11:09:32 2013 for VSTGUI by  doxygen 1.6.1